//go:build windows
// +build windows

package u2

import (
	"log"
	"os/exec"
	"runtime"
	"syscall"
)

// Open 在Windows系统中打开指定的链接、文件或文件夹
//
// 参数：
//
//	link - 要打开的URL、文件路径或文件夹路径。可以是：
//	       - 网页地址（如 "https://example.com"）
//	       - 本地文件路径（如 "C:\\path\\to\\file.txt"）
//	       - 文件夹路径（如 "C:\\path\\to\\folder"）
//
// 注意：
//  1. 该函数仅支持Windows系统
//  2. 使用cmd.exe的start命令打开目标
//  3. 隐藏命令提示符窗口
//  4. 在其他操作系统上会记录不支持的信息
//
// 示例：
//
//	Open("https://example.com")  // 在默认浏览器中打开网页
//	Open("C:\\path\\to\\file.txt") // 用默认应用程序打开文件
//	Open("C:\\path\\to\\folder") // 在文件管理器中打开文件夹
func Open(link string) {
	if runtime.GOOS == "windows" {
		c := exec.Command("cmd", "/c", "start", link)
		c.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
		c.Start()
	} else {
		log.Println("not support this os: ", runtime.GOOS)
	}
}
